<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 <head>

  <title>CSS Test: box offsets - relatively positioned boxes</title>

  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
  <link rel="help" title="9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'" href="http://www.w3.org/TR/CSS21/visuren.html#position-props" />
  <meta content="image" name="flags" />
  <meta content="Box offsets (bottom, left, right, top) expressed in absolute units (not with percentage unit) for relatively positioned boxes are with respect to the edges of the boxes themselves." name="assert" />

  <style type="text/css"><![CDATA[
  body {margin: 8px;}

  div#statically-positioned-box
  {
  background-color: yellow; /* padding box will be yellow */
  border: orange solid 50px; /* border box will be orange */
  height: 100px; /* a bright green square 100px by 100px image will serve as content box */
  margin-left: 100px;
  padding: 50px;
  position: static;
  width: 100px;
  }

  div.blue-relatively-positioned
  {
  background-color: blue;
  color: white;
  height: 25px;
  position: relative;
  width: 25px;
  }

  div#top-left
  {
  left: 150px;
  /*
  Calculation of left offset:

     100px (div#statically-positioned-box's margin-left)
   +  50px (div#statically-positioned-box's border-left)
   ==================
     150px
  */

  top: -250px;
  /*
  Calculation of top offset:
   -  50px (div#statically-positioned-box's border-bottom)
   -  50px (div#statically-positioned-box's padding-bottom)
   - 100px (div#statically-positioned-box's content height)
   -  50px (div#statically-positioned-box's padding-top)
  ==================
    -250px
  */
  }

  div#top-right
  {
  right: -325px;
  /*
  Calculation of right offset:

   - 100px (div#statically-positioned-box's margin-left)
   -  50px (div#statically-positioned-box's border-left)
   -  50px (div#statically-positioned-box's padding-left)
   - 100px (div#statically-positioned-box's content height)
   -  50px (div#statically-positioned-box's padding-right)
   +  25px (div#top-right's content width)
   ==================
    -325px
  */

  top: -275px;
  /*
  Calculation of top offset:
   -  25px (div#top-left's content height)
   -  50px (div#statically-positioned-box's border-bottom)
   -  50px (div#statically-positioned-box's padding-bottom)
   - 100px (div#statically-positioned-box's content height)
   -  50px (div#statically-positioned-box's padding-top)
  ==================
    -275px
  */
  }

  div#bottom-left
  {
  bottom: 125px;
  /*
  Calculation of bottom offset:
      25px (div#top-left's content height)
   +  25px (div#top-right's content height)
   +  50px (div#statically-positioned-box's border-bottom)
   +  25px (div#bottom-left's content height)
  ==================
     125px
  */

  left: 150px;
  /*
  Calculation of left offset:

     100px (div#statically-positioned-box's margin-left)
   +  50px (div#statically-positioned-box's border-left)
   ==================
     150px
  */
  }

  div#bottom-right
  {
  bottom: 150px;
  /*
  Calculation of bottom offset:
      25px (div#top-left's content height)
   +  25px (div#top-right's content height)
   +  25px (div#bottom-left's content height)
   +  50px (div#statically-positioned-box's border-bottom)
   +  25px (div#bottom-right's content height)
  ==================
     150px
  */

  right: -325px;
  /*
  Calculation of right offset:

   - 100px (div#statically-positioned-box's margin-left)
   -  50px (div#statically-positioned-box's border-left)
   -  50px (div#statically-positioned-box's padding-left)
   - 100px (div#statically-positioned-box's content height)
   -  50px (div#statically-positioned-box's padding-right)
   +  25px (div#bottom-right's content width)
   ==================
    -325px
  */
  }
  ]]></style>

 </head>

 <body>

  <p>Test passes if there is a blue square at each corner of the yellow square.</p>

  <div id="statically-positioned-box"><img src="support/100x100-lime.png" alt="Image download support must be enabled" /></div>

  <div class="blue-relatively-positioned" id="top-left">TL</div>

  <div class="blue-relatively-positioned" id="top-right">TR</div>

  <div class="blue-relatively-positioned" id="bottom-left">BL</div>

  <div class="blue-relatively-positioned" id="bottom-right">BR</div>

 </body>
</html>
